(in-package :graph)

(defparameter *edges-petersen*
  '((1 2) (1 5) (1 9) (2 3) (2 7) (3 4) (3 10) (4 5)
    (4 8) (5 6) (6 7) (6 10) (7 8) (8 9) (9 10)))

(defparameter *paths-petersen*
  '((1 2 3 4 5 1 9 10 6 7 8 9) (2 7) (3 10) (4 8) (5 6)))

(defparameter *gg*
  (graph-from-enodes-and-earcs '() *edges-petersen* nil))

(defparameter *petersen* (graph-from-paths *paths-petersen* nil))

(defparameter *opetersen* (graph-from-paths *paths-petersen* t))

(defparameter *edges-envelop*
  '((1 2) (1 4) (1 5) (2 3) (2 4) (2 5) (3 4) (4 5)))

(defparameter *paths-envelop* '((1 2 3 4 5 2 4 1 5)))

(defparameter *envelop*
  (graph-from-enodes-and-earcs '() *edges-envelop* nil))

(defparameter *envelop*
  (graph-from-paths *paths-envelop* nil))

(defparameter *oenvelop*
  (graph-from-enodes-and-earcs '() *edges-envelop* t))

(defparameter *oenvelop*
  (graph-from-paths *paths-envelop* t))

(defparameter *arcs-go* '((1 2) (1 4) (2 4)  (3 2) (4 3)))
(defparameter *go* (graph-from-enodes-and-earcs '(5) *arcs-go* t))

(defparameter *arcs-bp* '((1 4) (1 5) (2 6) (3 6) (5 2)))
(defparameter *bp* (graph-from-enodes-and-earcs '() *arcs-bp* t))

(defparameter *arcs-508* '((0 5 5) (0 3 3) (3 5 2) (3 9 6) (5 3 1) (5 9 4) (5 11 6) (9 11 2) (11 0 3) (11 9 7)))

(defparameter *o508* (graph-from-enodes-and-earcs '() *arcs-508* t))
(defparameter *508* (graph-from-enodes-and-earcs '() *arcs-508* nil))

(defparameter *edges-490* '((1 2 4) (2 3 8) (3 4 7) (4 5 9) (5 6 10) (6 7 2)
			    (7 8 1) (8 1 8)
			    (2 8 11) (8 9 7) (3 9 2) (3 6 4) (9 6 14)))

(defparameter *490* (graph-from-enodes-and-earcs '() *edges-490* nil))

(defparameter *vertex* (graph-from-enodes-and-earcs '(1) '() nil))
(defparameter *overtex* (graph-from-enodes-and-earcs '(1) '() t))

(defparameter *edges-434* '((1 2) (1 3) (2 3) (2 4) (5 6) (5 7) (8 9)))
(defparameter *434* (graph-from-enodes-and-earcs '(10) *edges-434* nil))

(defparameter *arcs-518* '((1 2 10) (1 4 5) (2 3 1) (2 4 2) (3 5 4) (4 2 3) (4 3 9) (4 5 2) (5 1 7) (5 3 6)))
(defparameter *518* (graph-from-enodes-and-earcs '() *arcs-518* t))

(defparameter *edges-wiki-dijkstra* '((1 2 7) (1 3 9) (1 6 14)
				  (2 3 10) (2 4 14)
				  (3 4 11) (3 6 2)
				  (4 5 6) (5 6 9)))
(defparameter *wiki-dijkstra* (graph-from-enodes-and-earcs '() *edges-wiki-dijkstra* nil))

(defparameter *edges-wiki-prim* '((1 2 7) (1 4 5) (2 3 8) (2 4 9) (2 5 7)
			       (3 5 5) (4 5 15) (4 6 6) (5 6 9) (5 7 9)
			       (6 7 11)))

(defparameter *wiki-prim* (graph-from-enodes-and-earcs '() *edges-wiki-prim* nil))

(defparameter *igrid*
  (graph-from-enodes-and-earcs
   '()
   '((0 1) (0 2) (0 3) (0 4) (1 2) (1 3) (1 4) (2 3) (2 4) (3 4)
     (1 5) (2 5) (2 6) (3 5) (3 6) (3 7) (4 5) (4 6) (4 7) (4 8)
     (5 6) (5 7) (5 8) (5 9) (6 7) (6 8) (6 9) (7 8) (7 9) (8 9)
     (6 10) (7 10) (7 11) (8 10) (8 11) (8 12) (9 10) (9 11) (9 12) (9 13)
     (10 11) (10 12) (10 13) (10 14) (11 12) (11 13) (11 14) (12 13) (12 14) (13 14)
     (11 15) (12 15) (12 16) (13 15) (13 16) (13 17) (14 15) (14 16) (14 17) (14 18)
     (15 16) (15 17) (15 18) (15 19) (16 17) (16 18) (16 19) (17 18) (17 19) (18 19))
   nil))

(defparameter *villes-arcs*
  '(((1 "Paris") (2 "Lyon") 2)
    ((2 "Lyon") (3 "Marseille") 2)
    ((4 "Toulouse") (5 "Bordeaux") 2)
    ((1 "Paris") (5 "Bordeaux") 3)
    ((3 "Marseille") (4 "Toulouse") 5)))
  
(defparameter *villes*
  (graph-from-enodes-and-earcs '((0 "Ajaccio")) *villes-arcs* nil))
